Managing Change When Proving Software Correct

نویسندگان

  • Richard Bubel
  • Ferruccio Damiani
  • Einar Broch
  • Ingrid Chieh Yu
چکیده

We propose a new and systematic framework for proof reuse in the context of deductive software verification. The framework generalizes abstract contracts into incremental proof repositories. Abstract contracts enable a separation of concerns between called methods and their implementations, facilitating proof reuse. Proof repositories allow the systematic caching of partial proofs that can be adapted to different method implementations. The framework provides flexible support for compositional verification in the context of, e.g., partly developed programs, evolution of programs and contracts, and product variability. Partly funded by the EU project H2020-644298 HyVar: Scalable Hybrid Variability for Distributed Evolving Software Systems (www.hyvar-project.eu), the EU project FP7-610582 Envisage: Engineering Virtualized Services (www.envisage-project.eu), the Ateneo/CSP project RunVar, and the ICT COST Actions IC1402 ARVI (www.cost-arvi.eu) and IC1201 BETTY (www.behavioural-types.eu). R. Bubel, R. Hähnle Department of Computer Science, Technische Universität Darmstadt E-mail: {bubel, haehnle}@cs.tu-darmstadt.de F. Damiani Department of Computer Science, University of Torino E-mail: [email protected] E. B. Johnsen, O. Owe, I. Chieh Yu Department of Informatics, University of Oslo E-mail: {einarj,olaf,ingridcy}@ifi.uio.no I. Schaefer Institute for Software Engineering, Technische Universität Braunschweig E-mail: [email protected] 2 Richard Bubel et al.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Hierarchal Change Mining to Manage Network Security Policy Evolution

Managing the security of complex cloud and networked computing environments requires crafting security policy—ranging from natural-language text to highly-structured configuration rules, sometimes multi-layered—specifying correct system behavior in an adversarial environment. Since environments change and evolve, managing security requires managing evolution of policies, which adds another laye...

متن کامل

Managing Change to Reusable Software

Change is one of the few "constants" of software engineering. While managing this change is a challenge for all software-intensive organizations, managing change becomes more difficult when organizations build product-lines. While reuse helps manage change across the product-line more effectively, managing change for specific components becomes more difficult. This paper describes six organizat...

متن کامل

Proof Checking the Proof

2a) Summary. It is considered a fact of life that all serious computer programs contain errors, so-called ‘bugs’. Empirical data indicates that production software has around two bugs per thousand lines of source code, and even programs used on space missions by NASA are believed to have around 0.1 bugs per thousand lines of code [26]. Interactive theorem proving is a technology for building pr...

متن کامل

CQV-UML Tool: a tool for managing the impact of change on UML models

An automated change impact analysis and management approach is vital to handle the complexity of adapting software during its evolution. Such an approach reduces the maintenance cost and provides for adequate decision making when confronted with the choice of accepting or ignoring changes. This paper presents a change impact management approach between UML models. It verifies the consistency an...

متن کامل

Testing for Software Reliability

Testing is the process of executing a program with the intention of finding design errors in a given environment. Testing can only prove the incorrectness of software but not its correctness. Some people have argued that testing is useless because what we want is the correctness of software instead of its incorrectness. This idea has led to the research of techniques for developing correct soft...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016